Enterprise data networks traditionally comprise data networking equipment such as hubs, switches, bridges and routers. These networks have evolved over the years, and are continuing to evolve, to include special purpose appliances that perform highly specialized packet processing functions servicing a range of enterprise needs from security to traffic management to content-aware/application-aware data routing to application acceleration, just to name a few. These special purpose appliances typically support industry-standard local area network connection ports (e.g., Ethernet ports). Consequently, the interconnection between these appliances is achieved using traditional data networking equipment such as hubs, bridges, switches and routers.
In such networks, data traffic flows serially from one appliance to the next, thus creating a multi-stage network. Often, different traffic flows, as distinguished by such criteria as the source and destination of the data traffic or the application to which it relates, are required to be processed by different sequences of special purpose equipment. The operator of the network accomplishes this flow assignment either by using redundant sets of the specialized equipment and hardwiring interconnects between them or by inserting data traffic routers or dispatchers at the beginning and end of each stage of the multi-stage network. These configurations result in inflexible network topologies which are inherently not conducive to supporting the inclusion of new stages (particularly dynamically for some subset of the traffic flows), dynamic expansion of the packet processing capacity of any one or more stages, interchangeability of hardware across stages, re-use of the same hardware to perform different specialized functions at different instances in time based on operational criteria such as time of day, changes in traffic conditions, congestion in one or more stages, and so on. However, operators of present day enterprise networks require this flexibility in order to respond appropriately to changes in network security requirements, volume and types of traffic flows, business requirements, the introduction of new packet processing functions or changes to existing packet processing functions.